From: Florian Müllner Date: Fri, 15 Oct 2010 07:18:37 +0000 (+0200) Subject: st-drawing-area: Avoid unnecessary repaints X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~9651 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=42c736614c7441c43ac04512af2565cd845fb686;p=gnome-shell.git st-drawing-area: Avoid unnecessary repaints StDrawingArea uses the member variable needs_repaint to keep track of whether it needs repainting. The variable is set to TRUE correctly, e.g. on allocation or style changes - alas, it is never set to FALSE, resulting in the area being repainted continuously. https://bugzilla.gnome.org/show_bug.cgi?id=632197 --- diff --git a/src/st/st-drawing-area.c b/src/st/st-drawing-area.c index fa99d11e6..a10da15db 100644 --- a/src/st/st-drawing-area.c +++ b/src/st/st-drawing-area.c @@ -115,6 +115,7 @@ st_drawing_area_paint (ClutterActor *self) surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); priv->context = cairo_create (surface); priv->in_repaint = TRUE; + priv->needs_repaint = FALSE; g_signal_emit ((GObject*)area, st_drawing_area_signals[REPAINT], 0);